Introduction to Self-Hosting
This section will be an introduction to self-hosting.
Table of Contents
- What is Self-Hosting
- Pros and Cons of Self-Hosting
- How to Begin
- Hardware and Software
What is Self-Hosting
Self-Hosting is where you are managing your own services by using your own hardware and software. This offers the most control as you are able to control items such as the environment, hardware and configurations, software, services, and more.
Pros and Cons of Self-Hosting
The main advantages of self-hosting will be privacy and control. As everything is "on-prem", you are able to control everything that is being used and how it is setup.
Some disadvantages will be cost, quality, and potentially security. As you are hosting using your own equipment, it can be potentially expensive to start up alongside maintenance cost such as power.
Quality can be an issue as you are limited to what you have and can lose out in some places such as redundancy as compared to using cloud services such as Google Drive or Microsoft's OneDrive.
Security can potentially be an issue as you are responsible for the security, any misconfigurations can lead to a potential compromise. As you are hosting this yourself, you do not necessarily have the tools and equipment when compared to an enterprise. However, if the services are not accessible from the internet, it is generally considered "safe".
How to Begin
To begin self-hosting, it can be as simple as turning an old device into a server as the definition of server is to serve information to clients. Running simple services such as a internal web server, note taking app, or DNS server is a good start.
Do note that some basic understanding on IT and system administration is required.
Hardware and Software
While anything can be a server, the services running can impact your hardware choices. Generally, x86 systems are recommended over ARM systems.
Depending on your desired workload, the operating system and underlying software can be anything that fits your requirements. Some examples will be using Proxmox for virtualisation, Docker for containerisation, or TrueNAS Scale for a network attached storage (NAS) solution.